Matthias Clasen [Wed, 22 Jan 2020 00:30:59 +0000 (19:30 -0500)]
Use the v9 image for ci runs
The v9 image add sysprof-devel, so we can build
and run performance tests using libsysprof.
Matthias Clasen [Tue, 21 Jan 2020 23:20:05 +0000 (18:20 -0500)]
ci: Build with profiler support
This will let us run sysprof-based performance tests.
Matthias Clasen [Tue, 21 Jan 2020 23:17:50 +0000 (18:17 -0500)]
ci: Add sysprof-devel to the image
We need it to build with profiler support.
Matthias Clasen [Tue, 21 Jan 2020 23:09:43 +0000 (18:09 -0500)]
Fix testsuite without -Dprofiler=true
Only build and run the performance tests if we have sysprof.
Matthias Clasen [Tue, 21 Jan 2020 22:49:40 +0000 (17:49 -0500)]
Run the css performance test in the testsuite
The numbers just end up in the testlog for now.
Matthias Clasen [Tue, 21 Jan 2020 18:59:12 +0000 (13:59 -0500)]
Prototype a sysprof helper
This is an attempt to see how we can use sysprof data
in our tests to extract useful performance numbers.
Use it as a wrapper around any GTK+ process:
./testperf ./gtk4-widget-factory
Currently, it repeatedly runs the given commandline,
extracts the first css validation time from the resulting
syscap file, and prints out the min/max/avg of the runs
at the end.
This relies on the environment variable GTK_DEBUG_AUTO_QUIT
to cause the process to exit soon after launch.
Matthias Clasen [Tue, 21 Jan 2020 21:57:20 +0000 (16:57 -0500)]
widget-factory: Add a way to quit automatically
This can be used to measure startup cost in tests.
Matthias Clasen [Tue, 21 Jan 2020 16:50:12 +0000 (11:50 -0500)]
gdk: Make profiler support unconditional
We are still not providing samples unless debugging is enabled.
That needs a bit more work.
Matthias Clasen [Tue, 21 Jan 2020 16:38:34 +0000 (11:38 -0500)]
cssnode: Make the profiler support unconditional
Matthias Clasen [Tue, 21 Jan 2020 16:17:17 +0000 (16:17 +0000)]
Merge branch 'otte/for-master' into 'master'
selector: Add GtkSelectorCategory
See merge request GNOME/gtk!1337
Benjamin Otte [Tue, 21 Jan 2020 15:51:55 +0000 (16:51 +0100)]
selector: Add GtkSelectorCategory
This will make it easier to write more complex matching algorithms.
Benjamin Otte [Tue, 21 Jan 2020 14:13:02 +0000 (14:13 +0000)]
Merge branch 'otte/for-master' into 'master'
Otte/for master
See merge request GNOME/gtk!1336
Benjamin Otte [Tue, 21 Jan 2020 13:43:31 +0000 (14:43 +0100)]
stylecontext: Remove excess gtk_css_node_invalidate() call
This call is not necessary, because gtk_css_node_set_parent() does the
right thing. (It probably hasn't been necessary for years, but I'm
not gonna try my luck on GTK3 at this stage.)
This code is usually called the first time
gtk_widget_get_style_context() is called on a widget and its style
context gets create. At that point however, the css nodes are in the
right place already, so no invalidation should happen.
Benjamin Otte [Tue, 21 Jan 2020 12:09:26 +0000 (12:09 +0000)]
Merge branch 'otte/for-master' into 'master'
Otte/for master
See merge request GNOME/gtk!1333
Benjamin Otte [Tue, 21 Jan 2020 11:48:20 +0000 (12:48 +0100)]
win32: Don't save/restore the context for querying the font
Use the font in the current state.
Benjamin Otte [Tue, 21 Jan 2020 02:05:38 +0000 (03:05 +0100)]
widget: Remove gtk_widget_get_path()
Benjamin Otte [Tue, 21 Jan 2020 02:03:46 +0000 (03:03 +0100)]
cssnode: Remove unused widget path vfuncs
Benjamin Otte [Tue, 21 Jan 2020 01:59:26 +0000 (02:59 +0100)]
containter: Remove gtk_container_get_path_for_child()
Benjamin Otte [Tue, 21 Jan 2020 01:54:55 +0000 (02:54 +0100)]
stylecontext: Change semantics of gtk_style_context_get_path()
Widget contexts now return NULL here. A non-NULL result requires a
previous call to gtk_style_context_set_path()
Benjamin Otte [Tue, 21 Jan 2020 01:50:07 +0000 (02:50 +0100)]
widget: Initialize cssnode name asap
That way, it's correct in subclass's init functions.
Matthias Clasen [Tue, 21 Jan 2020 04:52:12 +0000 (04:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Add some static assertions
See merge request GNOME/gtk!1334
Matthias Clasen [Tue, 21 Jan 2020 03:53:25 +0000 (22:53 -0500)]
Add some static assertions
Add assertions that ensure the relationships between
css property IDs that we rely on are preserved.
Matthias Clasen [Tue, 21 Jan 2020 01:08:41 +0000 (20:08 -0500)]
Add profiler support for css validation
Push numbers about css validation and style creation
to sysprof.
Benjamin Otte [Tue, 8 Oct 2019 19:16:25 +0000 (21:16 +0200)]
textview: Make cursor work when blinking is disabled
Matthias Clasen [Sun, 19 Jan 2020 20:48:17 +0000 (15:48 -0500)]
cssselector: Inline a few things
Matthias Clasen [Sun, 19 Jan 2020 06:09:11 +0000 (01:09 -0500)]
style cascade: Remove some pointless casts
The casts and checks in gtkstylecascade.c are leftovers
from when we had GtkStyleProviderPrivate, and no longer
serve any purpose.
Matthias Clasen [Sun, 19 Jan 2020 06:12:19 +0000 (01:12 -0500)]
pick: Take advantage of transform categories
Transform categories let us easily avoid doing matrix math
when we can just do a simple translation.
Matthias Clasen [Sun, 19 Jan 2020 05:41:45 +0000 (00:41 -0500)]
Refactor gtk_widget_pick
Split this into a recursive part and a public
entry point. This lets us avoid some duplicate
checks.
Piotr Drąg [Sun, 19 Jan 2020 12:04:34 +0000 (13:04 +0100)]
Update Polish translation
Matthias Clasen [Sat, 18 Jan 2020 23:19:23 +0000 (18:19 -0500)]
css: Redo the pseudoclass selectors
There is no need to duplicate the classes, we can make
do with a single class for all the states.
Matthias Clasen [Sat, 18 Jan 2020 22:55:58 +0000 (17:55 -0500)]
css: Go back to clearing out selectors
Now that we use the selector tree for change computation
again, we don't need the ruleset selectors anymore.
Bring back the code that cleans them out.
Goran Vidović [Sun, 19 Jan 2020 00:33:57 +0000 (00:33 +0000)]
Update Croatian translation
Goran Vidović [Sun, 19 Jan 2020 00:13:42 +0000 (00:13 +0000)]
Update Croatian translation
Matthias Clasen [Sat, 18 Jan 2020 19:18:47 +0000 (14:18 -0500)]
Refine the selector tree printing
Also show which tree nodes have exact matches.
Matthias Clasen [Sat, 18 Jan 2020 19:16:36 +0000 (14:16 -0500)]
Fix a css change testcase
The ui file here was invalid, leading to nonsensical
results.
Matthias Clasen [Sat, 18 Jan 2020 17:10:26 +0000 (12:10 -0500)]
Actually turn of css value accounting
We need an #undef here. While doing so, make sure
it compiles without warnings when disabled.
Matthias Clasen [Sat, 18 Jan 2020 15:51:54 +0000 (10:51 -0500)]
inspector: Avoid an array overrun
Commit
3f56af373891bf6e3 added a new value to the
GdkInputSource enum, forgetting that the inspector
has an array of names to match this enum.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2385
Matthias Clasen [Sat, 18 Jan 2020 07:34:56 +0000 (02:34 -0500)]
wayland: Fix release build warnings
Matthias Clasen [Sat, 18 Jan 2020 07:34:25 +0000 (02:34 -0500)]
x11: Fix release build warnings
Piotr Drąg [Sat, 18 Jan 2020 16:39:53 +0000 (17:39 +0100)]
Update POTFILES.skip
Timm Bäder [Fri, 17 Jan 2020 15:37:29 +0000 (16:37 +0100)]
gl renderer: Pull a local variable in the closest scope
Timm Bäder [Thu, 16 Jan 2020 12:41:55 +0000 (13:41 +0100)]
cssimagefallback: Don't snapshot invisible colors
This avoids a few render nodes later.
Timm Bäder [Thu, 16 Jan 2020 12:17:35 +0000 (13:17 +0100)]
widget: Get opacity without GtkStyleContext
GtkStyleContext is really just unnecessary here.
Timm Bäder [Thu, 16 Jan 2020 10:33:12 +0000 (11:33 +0100)]
cssstyle: set font variations in get_pango_font()
Doesn't make sense to set all the css values on the font description in
there except for the font variations, so do these here as well.
Timm Bäder [Thu, 16 Jan 2020 10:30:14 +0000 (11:30 +0100)]
widget: Get DPI from style directly
Instead of going through GtkStyleContext.
Timm Bäder [Thu, 16 Jan 2020 10:27:37 +0000 (11:27 +0100)]
cssstyle: Implement get_pango_font() directly
Instead of going through the slow GValue code path. This function was
unused, so use it in GtkWidget's update_pango_context() now.
Timm Bäder [Thu, 16 Jan 2020 08:56:46 +0000 (09:56 +0100)]
testsuite: Update expected css errors
Timm Bäder [Thu, 16 Jan 2020 07:02:48 +0000 (08:02 +0100)]
gl renderer: Draw outset shadows white
and only apply the actual shadow color when we draw them from the
texture. This way we can reuse the cached shadows during color
transitions.
Matthias Clasen [Sun, 12 Jan 2020 01:09:56 +0000 (20:09 -0500)]
css: Mark transform value as computed
This is not very useful, since transitions generate
a ton of transforms anyway.
Matthias Clasen [Sun, 12 Jan 2020 00:05:39 +0000 (19:05 -0500)]
css: Simplify default values
We no longer need to create one-element arrays or
corners with two identical values.
Matthias Clasen [Mon, 13 Jan 2020 12:34:08 +0000 (07:34 -0500)]
css: Re-add a lost special case
When the border-style special cases were moved in
c687f485fdd0a, the one for outline-width was lost.
Make the code more compact, and bring the special
case back.
Timm Bäder [Wed, 15 Jan 2020 12:18:16 +0000 (13:18 +0100)]
csshorthandproperty: Try to avoid allocating a GString for 1 font
Timm Bäder [Wed, 15 Jan 2020 08:57:11 +0000 (09:57 +0100)]
cssdimensionvalue: remove early-out code from transition()
We do this directly in gtk_css_value_transition() now
Timm Bäder [Tue, 14 Jan 2020 14:43:53 +0000 (15:43 +0100)]
gl renderer: Render simple border nodes in a simple way
Roughly 80% of the border nodes are just one color and have the same
width on all sides, so we can draw them by uploading just one rect and
not four.
Timm Bäder [Tue, 14 Jan 2020 14:39:48 +0000 (15:39 +0100)]
numbervalue: Add early-out to multiply()
If the factor is 1, we already know what the result is going to be.
Timm Bäder [Tue, 14 Jan 2020 14:37:30 +0000 (15:37 +0100)]
cssnumbervalue: Move early-out code to GtkCssValue
These checks make sense for all css values.
Timm Bäder [Tue, 14 Jan 2020 14:35:38 +0000 (15:35 +0100)]
cssdimensionvalue: Implement transition()
Instead of falling back to the generic gtk_css_number_value_transition
(which can allocate multiple new css values), just implement this here.
Timm Bäder [Tue, 14 Jan 2020 13:34:15 +0000 (14:34 +0100)]
Remove GtkCssShadowsValue
Previously, we wrapped all GtkCssShadowValues in a GtkCssShadowsValue,
even if it was just one shadow. This causes an unnecessary bloat in
css values.
Make each GtkCssShadowValue able to handle multiple shadows instead, and
use gtk_css_shadow_value* API everywhere.
Timm Bäder [Mon, 13 Jan 2020 07:37:52 +0000 (08:37 +0100)]
cssshadowvalue: Only create 2 shadows values for transitions
This is for cases where we want to transition from "no shadow" to
"shadow", which we need quite a lot.
Timm Bäder [Mon, 13 Jan 2020 09:19:56 +0000 (10:19 +0100)]
cssvalue: Improve css value accounting output
And make it fully optional behind an #ifdef.
Timm Bäder [Sun, 12 Jan 2020 14:53:26 +0000 (15:53 +0100)]
csscolorvalue: check for singletons in new_literal
Gets rid of another ~400 GtkCssValue instances in the widget-factory.
Timm Bäder [Sat, 11 Jan 2020 13:38:49 +0000 (14:38 +0100)]
cssimage: Add is_computed vfunc
Same semantics as the is_computed field of GtkCssValue
Timm Bäder [Sat, 11 Jan 2020 12:40:13 +0000 (13:40 +0100)]
css: Set the is_computed flag for more values
With these changes, we skip roughly 85% of compute() calls during
widget-factory startup
Timm Bäder [Sat, 11 Jan 2020 11:56:40 +0000 (12:56 +0100)]
cssvalue: Don't call compute() for already computed css values
As per the previous commit, this is unnecessary.
Even with the small amount of css values we mark as is_computed, we
already skip computing over 60% of them like this during the startup of
the widget factory.
Timm Bäder [Sat, 11 Jan 2020 11:53:23 +0000 (12:53 +0100)]
cssvalue: Add is_computed flag
When a css value has "child" css values (e.g. a linear gradient has
several color stop css values) which are all computed (won't change when
compute() is called on them), we want to skip computing the entire
subtree.
Since css values are immutable, we can set the is_computed flag at
construct time.
Since GtkCssValue instances are 0-initialized in _gtk_css_value_alloc,
the default for is_computed it FALSE. This commit only sets it to TRUE
in a few cases, such as various "none" singleton values which will never
change. Later commits will refine this and set it for more values.
Timm Bäder [Sat, 11 Jan 2020 11:29:05 +0000 (12:29 +0100)]
testsuite: Update css color output
Timm Bäder [Sat, 11 Jan 2020 11:22:19 +0000 (12:22 +0100)]
css: Move border-width special cases out of GtkCssDimensionValue
Move them to style computation instead, so we don't have them in such a
generic place.
Timm Bäder [Sat, 11 Jan 2020 10:54:39 +0000 (11:54 +0100)]
csscolorvalue: Don't copy rgbas when applying function
We get const pointers to the colors, so just use those and unref the
values later.
Timm Bäder [Sat, 11 Jan 2020 10:26:27 +0000 (11:26 +0100)]
gl renderer: Look at shadow color in the outset shadow cache
It would probably be better to not do this and always render the outline
in plain white, then later recolor it but do this for no, just for
correctness.
Timm Bäder [Sat, 11 Jan 2020 09:00:25 +0000 (10:00 +0100)]
cssimageradial: Use array + length instead of GArray
This makes sense since we're not going to change the (amount of) colors
after parsing.
Timm Bäder [Sat, 11 Jan 2020 08:05:07 +0000 (09:05 +0100)]
cssimagelinear: Use count+array for the color stops, not GArray
This makse sense but will also make later changes to GtkCssImageLinear
simpler.
Timm Bäder [Sat, 11 Jan 2020 07:25:52 +0000 (08:25 +0100)]
cssimagefallback: Don't compute new image if only a color is set
Themes might use e.g. image(red), which is a constant value and will
never change. In that case, the fallback image has ->color set, but not
->images. If that's the case and the computed color is the same as
the one we already have, just return the already existing image.
Timm Bäder [Fri, 10 Jan 2020 12:02:33 +0000 (13:02 +0100)]
Remove GtkCssRgbaValue
The differenciation between a literal color value and an RGBA value
caused problems in various situations. Just treat the two the same but
don't allow access to the rgba value of a non-literal color value.
This gets rid of around 1.6k rgba values in the widget-factory.
Matthias Clasen [Fri, 10 Jan 2020 04:48:30 +0000 (23:48 -0500)]
dump css value stats
Timm Bäder [Thu, 9 Jan 2020 11:52:20 +0000 (12:52 +0100)]
csssshadwovalue: Remove unused function prototype
Timm Bäder [Wed, 8 Jan 2020 08:42:23 +0000 (09:42 +0100)]
cssnumbervalue: Add early-outs to transition code
we don't need to do the calculation at all if the progress is 0 or 1
anyway.
We also sometimes transition from 0 to 0 etc., so we can short-circuit
that as well by doing the fast pointer-equality check and relying on the
singletons.
Timm Bäder [Wed, 8 Jan 2020 08:11:02 +0000 (09:11 +0100)]
csscornervalue: Accept other values if x == y
Most corners are square, so x == y. In that case, just accept either of
them. This makes the corner value unnecessary.
In fact none of the corner values in the widget-factory are needed, so
this spares us around 500 corner value allocations.
css value stats before:
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428
and after:
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
SUM: 7872
8428 to 7872 is a 556 reduction (6.5%)
asdf
Timm Bäder [Wed, 8 Jan 2020 07:58:07 +0000 (08:58 +0100)]
cssarrayvalue: Don't allocate memory when parsing array values
We probably won't find CSS with more than 128 values in array.
Timm Bäder [Wed, 8 Jan 2020 07:37:04 +0000 (08:37 +0100)]
cssarrayvalue: Allow calling array API on non-arrays
Just allow calling _get_nth() and _get_n_values() on every kind of css
value. This way we can allow all values in places where only array
values would be allowed before.
This spares us around 1000 array values in the widget factory.
css value stats before:
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 1130
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
SUM: 9415
and after:
GtkCssBgSizeValue: 23
GtkCssIdentValue: 25
GtkCssPositionValue: 81
GtkCssCornerValue: 556
GtkCssArrayValue: 143
GtkCssStringValue: 33
GtkCssPaletteValue: 29
GtkCssImageValue: 2765
GtkCssColorValue: 1452
GtkCssFilterValue: 3
GtkCssRgbaValue: 1092
GtkCssShadowValue: 708
GtkCssEaseValue: 33
GtkCssBorderValue: 2
GtkCssTransformValue: 11
GtkCssDimensionValue: 882
GtkCssShadowsValue: 584
SUM: 8428
9415 to 8428 is a 987 reduction (10.4%)
Timm Bäder [Thu, 9 Jan 2020 10:57:00 +0000 (11:57 +0100)]
cssvalue: Add type names for all classes
This is important to have for debugging and e.g. to print statistics for
the individual css value types
Timm Bäder [Thu, 9 Jan 2020 10:54:58 +0000 (11:54 +0100)]
csscolorvalue: Compute alpha/shade/mix of color literals directly
The values of these are never gonna change so we can as well create
literal color values from the resulting colors instead.
Timm Bäder [Thu, 9 Jan 2020 09:22:53 +0000 (10:22 +0100)]
csscolorvalue: Don't resolve literal color values
Matthias Clasen [Sat, 18 Jan 2020 06:43:11 +0000 (06:43 +0000)]
Merge branch 'adwaita-performance' into 'master'
Adwaita: Remove wildcards
Closes #2380
See merge request GNOME/gtk!1330
Matthias Clasen [Sat, 18 Jan 2020 06:27:31 +0000 (01:27 -0500)]
Adwaita: Remove wildcards
Selectors like *:disabled or *:link have bad performance
implications, since they cause all styles to be recomputed
when the state of the window changes. Replace these by a
list of the elements that are actually affected.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2380
Matthias Clasen [Sat, 18 Jan 2020 05:41:26 +0000 (05:41 +0000)]
Merge branch 'matthiasc/css-change-tracking-4' into 'master'
Improve change computation
See merge request GNOME/gtk!1327
Matthias Clasen [Sat, 18 Jan 2020 05:27:52 +0000 (00:27 -0500)]
Remove the widget-factory test again
This was failing in ci, in hard to track down ways.
Matthias Clasen [Fri, 17 Jan 2020 22:57:37 +0000 (17:57 -0500)]
change tests: Update test output
Some of these test cases involve :not, and thus are affected
by our now correct handling of it for change computation.
All of them are affected by the window now being visible.
Matthias Clasen [Fri, 17 Jan 2020 16:12:13 +0000 (11:12 -0500)]
Remove no longer needed code
We no longer use superset or any matchers to find changes.
Matthias Clasen [Fri, 17 Jan 2020 16:11:55 +0000 (11:11 -0500)]
Go back to the tree for computing change
Matthias Clasen [Fri, 17 Jan 2020 16:10:14 +0000 (11:10 -0500)]
Redo the way we compute change
Instead of expecting a superset matcher, call
gtk_css_selector_match_for_change while walking the tree with the
original matcher. This fixes the handling of :not while determining
changes.
Matthias Clasen [Fri, 17 Jan 2020 16:01:55 +0000 (11:01 -0500)]
Bring back the reserved bit
Matthias Clasen [Fri, 17 Jan 2020 15:54:37 +0000 (10:54 -0500)]
Revert "Remove no longer used code"
This reverts commit
105acfe90866543904467b13fecdbed108cf43b2.
Matthias Clasen [Fri, 17 Jan 2020 01:04:00 +0000 (20:04 -0500)]
Add testcases for css change flags
Add various tests for the change flag computation that
we do in the css selector tree.
test1: Just test the basic machinery of this test
test2: Trigger every change flag at least once
test3: Test that multiple states combine as expected
test4: Test negations (known to produce wrong results)
test5: Test a complex selector (not producing the expected
output atm)
widget-factory.ui:
The real thing: widget-factory+Adwaita. Note that
this expedts to be run with GSETTINGS_BACKEND=memory
Note that test4 checks the wrong results that we currently
produce for selectors involving :not. It will have to be
updated when we fix the handling of :not. The widget-factory.ui
testcase will certainly also be affected.
Matthias Clasen [Fri, 17 Jan 2020 01:02:55 +0000 (20:02 -0500)]
Add a test for css change flags
Matthias Clasen [Tue, 14 Jan 2020 00:18:31 +0000 (19:18 -0500)]
Add a way to dump css node change values
Add a GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE flag that
tells gtk_style_context_to_string to include the
change values of nodes in the output. This will
help debugging css change tracking.
Matthias Clasen [Sat, 18 Jan 2020 01:58:05 +0000 (20:58 -0500)]
style tests: Update expected output
The printing of css nodes has changed, and the window
is visible now.
Matthias Clasen [Wed, 15 Jan 2020 07:00:09 +0000 (02:00 -0500)]
style tests: Show the window
Not doing so somewhat defeats the point that we want
to verify the regular styles, not some weird initial
conditions.
Matthias Clasen [Sat, 18 Jan 2020 01:57:51 +0000 (20:57 -0500)]
style tests: Clean up --generate support
Reshuffle things so we don't call gtk_test_init() when --generate
is passed, to avoid polluting the output with test spew.
Matthias Clasen [Fri, 17 Jan 2020 22:07:46 +0000 (17:07 -0500)]
node tests: Update expected output
The printing of css nodes has changed and the
window is visible now.
Matthias Clasen [Sat, 18 Jan 2020 01:35:00 +0000 (20:35 -0500)]
node tests: Show the window
This avoids using default styles.